﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using DatabaseLayer;

namespace ControlLayer
{
    [ServiceContract]
    public interface IRouteCtr
    {
        [OperationContract]
        List<Flightroute> GetAllRoutesWhere(int travellers, DateTime travelDate);

        [OperationContract]
        List<Flightroute> GetAllRoutes();

        [OperationContract]
        List<Airport> GetAllAirports();

        [OperationContract]
        Flightroute GetRoute(int routeId);

        [OperationContract]
        List<Flightroute> GetCheapestRoute(string start, string goal, int travellers, DateTime travelDate);

        [OperationContract]
        TicketReservation ReserveTickets(int[] routeIds, int travellers);

        [OperationContract]
        void BuyTicket(TicketReservation ticket);
    }
}
